SlideShare a Scribd company logo
1 of 49
Download to read offline
<Insert Picture Here>




Running your Java EE 6 Applications in the Cloud
Arun Gupta, Java EE & GlassFish Guy
blogs.sun.com/arungupta, @arungupta
The following/preceding is intended to outline our
general product direction. It is intended for
information purposes only, and may not be
incorporated into any contract. It is not a
commitment to deliver any material, code, or
functionality, and should not be relied upon in
making purchasing decisions.
The development, release, and timing of any
features or functionality described for Oracle’s
products remains at the sole discretion of Oracle.



                                                     2
Agenda

• Introduction to Java EE 6 & Demo
• Java EE 6 on
  •
  •
  •
  •
• Multi-cloud Vendor Comparison
• Evolving Java EE for Cloud
• Conclusions
                                     3
Light-weight
• Java EE 6 Web Profile
• Pruning
   • Pruned today, means
    • Optional in the next release
    • Deleted in the subsequent releases
  • Technologies marked in Javadocs
    • EJB 2.x Entity Beans, JAX-RPC, JAXR, JSR 88




                                                    4
• EJB-in-WAR
• No-interface EJB
• Optional
  “web.xml”/”faces-
  config.xml”
• Annotation-driven
  •   @Schedule
  •   @Path
  •   @Inject
  •   ...




                      5
<web-fragment>
    <filter>
          <filter-name>wicket.helloworld</filter-name>
          <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
          <init-param>
               <param-name>applicationClassName</param-name>
               <param-value>...</param-value>
          </init-param>
    </filter>
    <filter-mapping>
          <filter-name>wicket.helloworld</filter-name>
          <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-fragment>



                                                                               6
Java EE 6 Demo


                 7
Oracle's definition of Cloud Computing

●
    Virtualized elastic platform for applications
    ●
        Standards-based application development/execution platform
    ●
        Includes hardware and software
    ●
        Virtualized and Elastic
    ●
        Runs a wide variety of applications
    ●
        On both public and private clouds




                                                                8
Oracle Exalogic Elastic Cloud

●
    Hardware and Software
    engineered to work together
●
    100% Fault-tolerant & Scalable
    On-Demand
●
    30 compute servers, 360 cores,
    980 GB Solid-state disk, 40
    GB/sec Infiniband, Patch
    centrally
●
    Servers, Network, Storage, VM,
    Operating System, Middleware,
    Develop/Run all applications



                                     9
Based upon
research work ...

                    10
What is Amazon ?


•   Boot server instances, scale up/down, pay-per-use
•   EC2: Compute capacity in the cloud
•   S3: Storage capacity in the cloud (1b → 5 GB)
•   RRS (reduced redundancy), RDS (database), FWS
    (fulfillment), SQS (queue), SNS (notification),
    CloudWatch (monitoring), FPS (payment), VPC
    (private cloud), EBS (block storage), ...




                                                    11
Java EE 6 on Amazon

• 2 New AMIs based on Hardened OpenSolaris
 • Oracle GlassFish Server 3.0 (not released)
 • Apache HTTP Server + mod_jk (not released)
 • Pre-existing MySQL Database 5.1 AMI
• Instances managed by SMF
 • GlassFish: svcadm restart/enable/disable
   svc:/application/GlassFish/domain1:default
 • MySQL SMF: svcadm enable mysql
 • mod_jk: svcadm restart/refresh/enable/disable
   svc:/network/http:apache22



                                                   12
Java EE 6 on Amazon
# Define a load-balancing worker
                                               AJP_INSTANCE_NAME
worker.list=worker1                             in GlassFish instances
#
# Define an ajp13 worker to represent instance1
worker.instance1.type=ajp13
worker.instance1.host=ec2-67-202-51-223.compute-1.amazonaws.com
worker.instance1.port=8009
#
# Define an ajp13 worker to represent instance2
worker.instance2.type=ajp13
worker.instance2.host=ec2-67-202-7-236.compute-1.amazonaws.com
worker.instance2.port=8009
#
# Define the type of worker1
worker.worker1.type=lb
# Add inst1 and inst2 to the balance_workers property of worker1
worker.worker1.balance_workers=instance1,instance2




                                                                         13
mod_jk
                                        Managed
                                          Using
                                        “cladmin”


                            ...
GlassFish-1   GlassFish-1         GlassFish-N




               MySQL



                                                    14
How to Deploy ?
• Launch MySQL AMI, create database, user,
  privileges, …
• Launch 1 or more GlassFish AMI
  • Set AJP_INSTANCE_NAME in each GlassFish
• Administer multiple instances using cladmin
  • --target instance-list OR set AS_TARGET=”...”
  • cladmin create-jdbc-connection-pool …
  • cladmin deploy ~/samples/hello.war
• Launch mod_jk AMI
  • Configure “worker.properties”



                                                    15
16
GlassFish
             3.0.1
                JAX-RS
                EJB 3.1
               JPA 2



100,000+
surveys/hr



                          17
Pricing




http://aws.amazon.com/ec2/pricing/



                                     18
Java EE 6 on RightScale
                                                     Cloud
                                                   Applications



                      Automation                     C loud-R eady                         Expertise
R ig htS c a le




                      Architecture                      S olutions                         & S upport


                      Web
                      Site



                                                     Right
                      Grid                           Scripts




                  Amazon       Amazon     Amazon         Amazon                    IBM
                                                                     R ackspace                  VM Ware
                  US E as t    US Wes t     EU            As ia                   C loud




                                                                                                           19
How to Deploy ?
Macro Definition

• Launches a new virtual server with clean install
  of Ubuntu
• Install GlassFish Server Open Source Edition 3.0
• Detects database in the deployment
  • Installs MySQL Connector/J Driver
  • Creates a JDBC Connection Pool and Resource
• Install samples
  • Archives (WAR/EAR/...) stored in S3




                                                  20
High Availability Deployment
                        DNS Round Robin



          Load Balancer-1                 Load Balancer-2

                                                                    Min: 0;Max: 5

                                                            ...
GlassFish-1            GlassFish-2            GlassFish-3          GlassFish-n

                                                                    Server Array


              Master        replication      Slave
 EBS           DB                             DB            EBS
 Vol                                                        Vol   Amazon EC2

                            Amazon S3


                                                                                 21
RightScripts




               22
Alerts




         23
24
Pricing




          http://www.rightscale.com/products/plans-pricing/


                                                              25
What is Azure ?




                  26
How to deploy ?
Azure Storage




                  27
How to deploy ?
Visual Studio Project




                        28
How to deploy ?
    Launch.ps1
$connection_string =
'DefaultEndpointsProtocol=http;AccountName=YOUR-
STORAGE;AccountKey=YOUR-KEY'

# JDK
$jdk = 'jdk1.6.0_23.zip'
download_from_storage 'java' $jdk $connection_string (Get-
Location).Path
unzip ((Get-Location).Path + "" + $jdk) (Get-Location).Path

# GlassFish
$glassfish = 'glassfish-3.1-b40.zip'
download_from_storage 'apps' $glassfish $connection_string (Get-
Location).Path
unzip ((Get-Location).Path + "" + $glassfish) (Get-Location).Path

# Launch GlassFish
.jdk1.6.0_23binjava `-jar
.glassfish3glassfishmodulesadmin-cli.jar start-domain --verbose



                                                                      29
How to deploy ?
Expose GlassFish ports




                         30
How to deploy ?
Publish




                  31
How to deploy ?
Publish
                        Service
                      Configuration


                         Service
                        Definition



                         Run.cmd



                       Launch.ps1

    http://blogs.sun.com/arungupta/entry/ttod_155_glassfish_in_azure


                                                                       32
Pricing

• Offers - Consumption or Commitment
  • 30-day FREE pass
• Platform offer comparison table




                                       33
Pricing




http://www.microsoft.com/windowsazure/offers/popup/popup.aspx?lang=en&locale=en-US&offer=COMPARE_PUBLIC


                                                                                                          34
Java EE 6 on Joyent

●
    High performance and reliable public, private,
    and hybrid cloud
●
    Environment
    ●
        Language: Java, PHP, Ruby, …
    ●
        Server: GlassFish, Apache, nginx, …
    ●
        Database: MySQL, Oracle, ...




                                                     35
Vs
Amazon




         36
Java EE 6 on Joyent

●
    Smart Machine (nee Accelerators)
    ●
        Public IP Address
    ●
        Root access to Solaris Zone
    ●
        Guaranteed minimum CPU/RAM
    ●
        Dedicated IP address + 100 Mbps connectivity
    ●
        Common packages like MySQL can be installed using
        Webmin
    ●
        “sftp” to upload application packages




                                                            37
38
39
Pricing
 • Included support issues
      • Inaccessible smart machine
      • Slow performance
      • System-level functionality not working
 • $199/incident (max one hour)




http://www.joyent.com/support/support-programs/



                                                  40
Multi-cloud Vendors




                      41
Vendor        Language   Compute         Storage Provider
RightScale    Bash, Ruby, Yes            Yes      Amazon, GoGrid, FlexiScale,
              Perl                                Eucalyptus
OpenStack     REST       Yes             Yes      Several
SimpleCloud   PHP        No              Yes,     Microsoft, IBM, Rackspace,
                                         Queing   Nirvanix, GoGrid
libcloud      Python     Yes             ??       Several
jClouds       Java,      Yes             Yes      Several
              Clojure
DeltaCloud    Ruby,      Create/Start/   No       Amazon, GoGrid, OpenNebula,
              REST       Stop/Reboot              Rackspace, RHEV-M,
                         /Destroy                 RimuHosting
CloudLoop     Java       No              Yes      Amazon, Nirvanix
Dasein        Java       ??              Yes      Amazon, Rackspace, vSphere




                                                                                42
What does Java EE offer to Cloud ?

●
    Containers
●
    Injectable services
●
    Scale to large clusters
●
    Security model
●
    ...




                                         43
What can Java EE do for Clouds ?

●
    Tighter requirements for resource/state
●
    Better isolation between applications
●
    Support for multi-tenant applications
●
    Potential standard APIs for NRDBMS, Caching,
    WebSockets, JSON, HTML5
●
    Common management and monitoring interfaces
●
    Better packaging
    ●
        Apps/Data are (multiple) versioned, Upgrades,
        Expose/Connect to services, QoS attributes, ...
●
    Evolution, not revolution!

                                                          44
GlassFish Server Chronology

2006    2007       2008      2009      2010                  …


GlassFish v1
Java EE 5, Single Instance

               GlassFish v2
               Java EE 5, High Availability

                       GlassFish Server 3
                       Java EE 6, Single Instance

                                    GlassFish Server 3.1
                                    Java EE 6, High Availability


                                                                   45
GlassFish Server Distributions


Distribution                  License      Features

                                           • Java EE 6 compatibility
GlassFish Server Open         CDDL &       • Web Profile support
Source Edition 3.1            GPLv2        • In-memory replication / clustering
Web Profile
                                           • Centralized Administration
                                           • Java EE 6 compatibility
GlassFish Open Source         CDDL &       • Full Java EE distribution
Edition 3.1                   GPLv2        • In-memory replication / clustering
                                           • Centralized Administration
                                           • Adds
Oracle GlassFish Server 3.1   Commercial        • Oracle GlassFish Server Control
Web Profile                                     • Patches, support, knowledge
                                                base
                                           • Adds
Oracle GlassFish Server 3.1   Commercial        • Oracle GlassFish Server Control
                                                • Patches, support, knowledge
                                                base




                                                                                    46
Conclusions

• Java EE 6 is light-weight, flexible, easy-to-use
• GlassFish Server Open Source Edition 3.0 and
  Oracle GlassFish Server 3.0 provides feature-
  rich implementation
• Java EE 6 applications can be easily deployed
  on Amazon, RightScale, Azure, Joyent, and other
  clouds.
• Java EE 7 will provide a standards-based
  programming model for PaaS environments.
• Talk to us at users@glassfish.dev.java.net.
                                                 47
References


• glassfish.org
• oracle.com/goto/glassfish
• blogs.sun.com/theaquarium
• youtube.com/user/GlassFishVideos
• @glassfish




                                     48
<Insert Picture Here>




Running your Java EE 6 Applications in the Cloud
Arun Gupta, Java EE & GlassFish Guy
blogs.sun.com/arungupta, @arungupta

More Related Content

What's hot

Intro ProxySQL
Intro ProxySQLIntro ProxySQL
Intro ProxySQLI Goo Lee
 
Spark / Mesos Cluster Optimization
Spark / Mesos Cluster OptimizationSpark / Mesos Cluster Optimization
Spark / Mesos Cluster Optimizationebiznext
 
Troubleshooting Strategies for CloudStack Installations by Kirk Kosinski
Troubleshooting Strategies for CloudStack Installations by Kirk Kosinski Troubleshooting Strategies for CloudStack Installations by Kirk Kosinski
Troubleshooting Strategies for CloudStack Installations by Kirk Kosinski buildacloud
 
Introduction To Apache Mesos
Introduction To Apache MesosIntroduction To Apache Mesos
Introduction To Apache MesosTimothy St. Clair
 
Successful Software Development with Apache Cassandra
Successful Software Development with Apache CassandraSuccessful Software Development with Apache Cassandra
Successful Software Development with Apache Cassandrazznate
 
Installing oracle grid infrastructure and database 12c r1
Installing oracle grid infrastructure and database 12c r1Installing oracle grid infrastructure and database 12c r1
Installing oracle grid infrastructure and database 12c r1Voeurng Sovann
 
Cassandra 3.0 Data Modeling
Cassandra 3.0 Data ModelingCassandra 3.0 Data Modeling
Cassandra 3.0 Data ModelingDataStax Academy
 
A MySQL Odyssey - A Blackhole Crossover
A MySQL Odyssey - A Blackhole CrossoverA MySQL Odyssey - A Blackhole Crossover
A MySQL Odyssey - A Blackhole CrossoverKeith Hollman
 
NoSQL атакует: JSON функции в MySQL сервере.
NoSQL атакует: JSON функции в MySQL сервере.NoSQL атакует: JSON функции в MySQL сервере.
NoSQL атакует: JSON функции в MySQL сервере.Sveta Smirnova
 
Escalabilidad horizontal y Arquitecturas elásticas en Windows Azure | SolidQ ...
Escalabilidad horizontal y Arquitecturas elásticas en Windows Azure | SolidQ ...Escalabilidad horizontal y Arquitecturas elásticas en Windows Azure | SolidQ ...
Escalabilidad horizontal y Arquitecturas elásticas en Windows Azure | SolidQ ...SolidQ
 
MySQL Oslayer performace optimization
MySQL  Oslayer performace optimizationMySQL  Oslayer performace optimization
MySQL Oslayer performace optimizationLouis liu
 
Troubleshooting Apache Cloudstack
Troubleshooting Apache CloudstackTroubleshooting Apache Cloudstack
Troubleshooting Apache CloudstackRadhika Puthiyetath
 
How to Actually Tune Your Spark Jobs So They Work
How to Actually Tune Your Spark Jobs So They WorkHow to Actually Tune Your Spark Jobs So They Work
How to Actually Tune Your Spark Jobs So They WorkIlya Ganelin
 
MySQL Group Replication - Ready For Production? (2018-04)
MySQL Group Replication - Ready For Production? (2018-04)MySQL Group Replication - Ready For Production? (2018-04)
MySQL Group Replication - Ready For Production? (2018-04)Kenny Gryp
 
Galera Multi Master Synchronous My S Q L Replication Clusters
Galera  Multi Master  Synchronous  My S Q L  Replication  ClustersGalera  Multi Master  Synchronous  My S Q L  Replication  Clusters
Galera Multi Master Synchronous My S Q L Replication ClustersPerconaPerformance
 
Mater,slave on mysql
Mater,slave on mysqlMater,slave on mysql
Mater,slave on mysqlVasudeva Rao
 
Growing in the Wild. The story by CUBRID Database Developers.
Growing in the Wild. The story by CUBRID Database Developers.Growing in the Wild. The story by CUBRID Database Developers.
Growing in the Wild. The story by CUBRID Database Developers.CUBRID
 

What's hot (20)

Intro ProxySQL
Intro ProxySQLIntro ProxySQL
Intro ProxySQL
 
Spark / Mesos Cluster Optimization
Spark / Mesos Cluster OptimizationSpark / Mesos Cluster Optimization
Spark / Mesos Cluster Optimization
 
Troubleshooting Strategies for CloudStack Installations by Kirk Kosinski
Troubleshooting Strategies for CloudStack Installations by Kirk Kosinski Troubleshooting Strategies for CloudStack Installations by Kirk Kosinski
Troubleshooting Strategies for CloudStack Installations by Kirk Kosinski
 
JahiaOne - Performance Tuning
JahiaOne - Performance TuningJahiaOne - Performance Tuning
JahiaOne - Performance Tuning
 
Introduction To Apache Mesos
Introduction To Apache MesosIntroduction To Apache Mesos
Introduction To Apache Mesos
 
Successful Software Development with Apache Cassandra
Successful Software Development with Apache CassandraSuccessful Software Development with Apache Cassandra
Successful Software Development with Apache Cassandra
 
Installing oracle grid infrastructure and database 12c r1
Installing oracle grid infrastructure and database 12c r1Installing oracle grid infrastructure and database 12c r1
Installing oracle grid infrastructure and database 12c r1
 
Cassandra 3.0 Data Modeling
Cassandra 3.0 Data ModelingCassandra 3.0 Data Modeling
Cassandra 3.0 Data Modeling
 
A MySQL Odyssey - A Blackhole Crossover
A MySQL Odyssey - A Blackhole CrossoverA MySQL Odyssey - A Blackhole Crossover
A MySQL Odyssey - A Blackhole Crossover
 
NoSQL атакует: JSON функции в MySQL сервере.
NoSQL атакует: JSON функции в MySQL сервере.NoSQL атакует: JSON функции в MySQL сервере.
NoSQL атакует: JSON функции в MySQL сервере.
 
Escalabilidad horizontal y Arquitecturas elásticas en Windows Azure | SolidQ ...
Escalabilidad horizontal y Arquitecturas elásticas en Windows Azure | SolidQ ...Escalabilidad horizontal y Arquitecturas elásticas en Windows Azure | SolidQ ...
Escalabilidad horizontal y Arquitecturas elásticas en Windows Azure | SolidQ ...
 
MySQL Oslayer performace optimization
MySQL  Oslayer performace optimizationMySQL  Oslayer performace optimization
MySQL Oslayer performace optimization
 
Troubleshooting Apache Cloudstack
Troubleshooting Apache CloudstackTroubleshooting Apache Cloudstack
Troubleshooting Apache Cloudstack
 
How to Actually Tune Your Spark Jobs So They Work
How to Actually Tune Your Spark Jobs So They WorkHow to Actually Tune Your Spark Jobs So They Work
How to Actually Tune Your Spark Jobs So They Work
 
MySQL Group Replication - Ready For Production? (2018-04)
MySQL Group Replication - Ready For Production? (2018-04)MySQL Group Replication - Ready For Production? (2018-04)
MySQL Group Replication - Ready For Production? (2018-04)
 
Galera Multi Master Synchronous My S Q L Replication Clusters
Galera  Multi Master  Synchronous  My S Q L  Replication  ClustersGalera  Multi Master  Synchronous  My S Q L  Replication  Clusters
Galera Multi Master Synchronous My S Q L Replication Clusters
 
Mater,slave on mysql
Mater,slave on mysqlMater,slave on mysql
Mater,slave on mysql
 
Growing in the Wild. The story by CUBRID Database Developers.
Growing in the Wild. The story by CUBRID Database Developers.Growing in the Wild. The story by CUBRID Database Developers.
Growing in the Wild. The story by CUBRID Database Developers.
 
My Old Friend Malloc
My Old Friend MallocMy Old Friend Malloc
My Old Friend Malloc
 
Gimme Caching - The JCache Way
Gimme Caching - The JCache WayGimme Caching - The JCache Way
Gimme Caching - The JCache Way
 

Similar to Running your Java EE 6 Applications in the Cloud

Running your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the CloudRunning your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the CloudArun Gupta
 
Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)Arun Gupta
 
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011Running your Java EE 6 Apps in the Cloud - JavaOne India 2011
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011Arun Gupta
 
JavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
JavaOne India 2011 - Running your Java EE 6 Apps in the CloudJavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
JavaOne India 2011 - Running your Java EE 6 Apps in the CloudArun Gupta
 
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010Arun Gupta
 
Running your Java EE 6 applications in the cloud
Running your Java EE 6 applications in the cloudRunning your Java EE 6 applications in the cloud
Running your Java EE 6 applications in the cloudArun Gupta
 
Javaee6 Jazoon 2010 100603081147 Phpapp01
Javaee6 Jazoon 2010 100603081147 Phpapp01Javaee6 Jazoon 2010 100603081147 Phpapp01
Javaee6 Jazoon 2010 100603081147 Phpapp01MindTree Ltd
 
Running your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the CloudRunning your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the CloudIndicThreads
 
Running your Java EE applications in the Cloud
Running your Java EE applications in the CloudRunning your Java EE applications in the Cloud
Running your Java EE applications in the CloudArun Gupta
 
Dynamic Languages & Web Frameworks in GlassFish
Dynamic Languages & Web Frameworks in GlassFishDynamic Languages & Web Frameworks in GlassFish
Dynamic Languages & Web Frameworks in GlassFishIndicThreads
 
Protect your app from Outages
Protect your app from OutagesProtect your app from Outages
Protect your app from OutagesRon Zavner
 
19th February 2013, AWS User Group UK, Meetup #3, Managing your apps on AWS: ...
19th February 2013, AWS User Group UK, Meetup #3, Managing your apps on AWS: ...19th February 2013, AWS User Group UK, Meetup #3, Managing your apps on AWS: ...
19th February 2013, AWS User Group UK, Meetup #3, Managing your apps on AWS: ...AWS User Group UK
 
JVMs in Containers - Best Practices
JVMs in Containers - Best PracticesJVMs in Containers - Best Practices
JVMs in Containers - Best PracticesDavid Delabassee
 
Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...
Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...
Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...Amazon Web Services
 
Docker for Java Developers - Fabiane Nardon and Arun gupta
Docker for Java Developers - Fabiane Nardon and Arun guptaDocker for Java Developers - Fabiane Nardon and Arun gupta
Docker for Java Developers - Fabiane Nardon and Arun guptaDocker, Inc.
 
Cloud Foundry for Spring Developers
Cloud Foundry for Spring DevelopersCloud Foundry for Spring Developers
Cloud Foundry for Spring DevelopersGunnar Hillert
 
Cloud-native legacy applications
Cloud-native legacy applicationsCloud-native legacy applications
Cloud-native legacy applicationsRobert Munteanu
 
Dynamic Languages Web Frameworks Indicthreads 2009
Dynamic Languages Web Frameworks Indicthreads 2009Dynamic Languages Web Frameworks Indicthreads 2009
Dynamic Languages Web Frameworks Indicthreads 2009Arun Gupta
 

Similar to Running your Java EE 6 Applications in the Cloud (20)

Running your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the CloudRunning your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the Cloud
 
Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)
 
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011Running your Java EE 6 Apps in the Cloud - JavaOne India 2011
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011
 
JavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
JavaOne India 2011 - Running your Java EE 6 Apps in the CloudJavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
JavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
 
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
 
Running your Java EE 6 applications in the cloud
Running your Java EE 6 applications in the cloudRunning your Java EE 6 applications in the cloud
Running your Java EE 6 applications in the cloud
 
Javaee6 Jazoon 2010 100603081147 Phpapp01
Javaee6 Jazoon 2010 100603081147 Phpapp01Javaee6 Jazoon 2010 100603081147 Phpapp01
Javaee6 Jazoon 2010 100603081147 Phpapp01
 
Running your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the CloudRunning your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the Cloud
 
Running your Java EE applications in the Cloud
Running your Java EE applications in the CloudRunning your Java EE applications in the Cloud
Running your Java EE applications in the Cloud
 
Dynamic Languages & Web Frameworks in GlassFish
Dynamic Languages & Web Frameworks in GlassFishDynamic Languages & Web Frameworks in GlassFish
Dynamic Languages & Web Frameworks in GlassFish
 
Protect your app from Outages
Protect your app from OutagesProtect your app from Outages
Protect your app from Outages
 
19th February 2013, AWS User Group UK, Meetup #3, Managing your apps on AWS: ...
19th February 2013, AWS User Group UK, Meetup #3, Managing your apps on AWS: ...19th February 2013, AWS User Group UK, Meetup #3, Managing your apps on AWS: ...
19th February 2013, AWS User Group UK, Meetup #3, Managing your apps on AWS: ...
 
JVMs in Containers - Best Practices
JVMs in Containers - Best PracticesJVMs in Containers - Best Practices
JVMs in Containers - Best Practices
 
Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...
Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...
Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...
 
JVMs in Containers
JVMs in ContainersJVMs in Containers
JVMs in Containers
 
Docker for Java Developers - Fabiane Nardon and Arun gupta
Docker for Java Developers - Fabiane Nardon and Arun guptaDocker for Java Developers - Fabiane Nardon and Arun gupta
Docker for Java Developers - Fabiane Nardon and Arun gupta
 
Cloudy Ajax 08 10
Cloudy Ajax 08 10Cloudy Ajax 08 10
Cloudy Ajax 08 10
 
Cloud Foundry for Spring Developers
Cloud Foundry for Spring DevelopersCloud Foundry for Spring Developers
Cloud Foundry for Spring Developers
 
Cloud-native legacy applications
Cloud-native legacy applicationsCloud-native legacy applications
Cloud-native legacy applications
 
Dynamic Languages Web Frameworks Indicthreads 2009
Dynamic Languages Web Frameworks Indicthreads 2009Dynamic Languages Web Frameworks Indicthreads 2009
Dynamic Languages Web Frameworks Indicthreads 2009
 

More from Arun Gupta

5 Skills To Force Multiply Technical Talents.pdf
5 Skills To Force Multiply Technical Talents.pdf5 Skills To Force Multiply Technical Talents.pdf
5 Skills To Force Multiply Technical Talents.pdfArun Gupta
 
Machine Learning using Kubernetes - AI Conclave 2019
Machine Learning using Kubernetes - AI Conclave 2019Machine Learning using Kubernetes - AI Conclave 2019
Machine Learning using Kubernetes - AI Conclave 2019Arun Gupta
 
Machine Learning using Kubeflow and Kubernetes
Machine Learning using Kubeflow and KubernetesMachine Learning using Kubeflow and Kubernetes
Machine Learning using Kubeflow and KubernetesArun Gupta
 
Secure and Fast microVM for Serverless Computing using Firecracker
Secure and Fast microVM for Serverless Computing using FirecrackerSecure and Fast microVM for Serverless Computing using Firecracker
Secure and Fast microVM for Serverless Computing using FirecrackerArun Gupta
 
Building Java in the Open - j.Day at OSCON 2019
Building Java in the Open - j.Day at OSCON 2019Building Java in the Open - j.Day at OSCON 2019
Building Java in the Open - j.Day at OSCON 2019Arun Gupta
 
Why Amazon Cares about Open Source
Why Amazon Cares about Open SourceWhy Amazon Cares about Open Source
Why Amazon Cares about Open SourceArun Gupta
 
Machine learning using Kubernetes
Machine learning using KubernetesMachine learning using Kubernetes
Machine learning using KubernetesArun Gupta
 
Building Cloud Native Applications
Building Cloud Native ApplicationsBuilding Cloud Native Applications
Building Cloud Native ApplicationsArun Gupta
 
Chaos Engineering with Kubernetes
Chaos Engineering with KubernetesChaos Engineering with Kubernetes
Chaos Engineering with KubernetesArun Gupta
 
How to be a mentor to bring more girls to STEAM
How to be a mentor to bring more girls to STEAMHow to be a mentor to bring more girls to STEAM
How to be a mentor to bring more girls to STEAMArun Gupta
 
Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018Arun Gupta
 
The Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteThe Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteArun Gupta
 
Introduction to Amazon EKS - KubeCon 2018
Introduction to Amazon EKS - KubeCon 2018Introduction to Amazon EKS - KubeCon 2018
Introduction to Amazon EKS - KubeCon 2018Arun Gupta
 
Mastering Kubernetes on AWS - Tel Aviv Summit
Mastering Kubernetes on AWS - Tel Aviv SummitMastering Kubernetes on AWS - Tel Aviv Summit
Mastering Kubernetes on AWS - Tel Aviv SummitArun Gupta
 
Top 10 Technology Trends Changing Developer's Landscape
Top 10 Technology Trends Changing Developer's LandscapeTop 10 Technology Trends Changing Developer's Landscape
Top 10 Technology Trends Changing Developer's LandscapeArun Gupta
 
Container Landscape in 2017
Container Landscape in 2017Container Landscape in 2017
Container Landscape in 2017Arun Gupta
 
Java EE and NoSQL using JBoss EAP 7 and OpenShift
Java EE and NoSQL using JBoss EAP 7 and OpenShiftJava EE and NoSQL using JBoss EAP 7 and OpenShift
Java EE and NoSQL using JBoss EAP 7 and OpenShiftArun Gupta
 
Docker, Kubernetes, and Mesos recipes for Java developers
Docker, Kubernetes, and Mesos recipes for Java developersDocker, Kubernetes, and Mesos recipes for Java developers
Docker, Kubernetes, and Mesos recipes for Java developersArun Gupta
 
Thanks Managers!
Thanks Managers!Thanks Managers!
Thanks Managers!Arun Gupta
 
Migrate your traditional VM-based Clusters to Containers
Migrate your traditional VM-based Clusters to ContainersMigrate your traditional VM-based Clusters to Containers
Migrate your traditional VM-based Clusters to ContainersArun Gupta
 

More from Arun Gupta (20)

5 Skills To Force Multiply Technical Talents.pdf
5 Skills To Force Multiply Technical Talents.pdf5 Skills To Force Multiply Technical Talents.pdf
5 Skills To Force Multiply Technical Talents.pdf
 
Machine Learning using Kubernetes - AI Conclave 2019
Machine Learning using Kubernetes - AI Conclave 2019Machine Learning using Kubernetes - AI Conclave 2019
Machine Learning using Kubernetes - AI Conclave 2019
 
Machine Learning using Kubeflow and Kubernetes
Machine Learning using Kubeflow and KubernetesMachine Learning using Kubeflow and Kubernetes
Machine Learning using Kubeflow and Kubernetes
 
Secure and Fast microVM for Serverless Computing using Firecracker
Secure and Fast microVM for Serverless Computing using FirecrackerSecure and Fast microVM for Serverless Computing using Firecracker
Secure and Fast microVM for Serverless Computing using Firecracker
 
Building Java in the Open - j.Day at OSCON 2019
Building Java in the Open - j.Day at OSCON 2019Building Java in the Open - j.Day at OSCON 2019
Building Java in the Open - j.Day at OSCON 2019
 
Why Amazon Cares about Open Source
Why Amazon Cares about Open SourceWhy Amazon Cares about Open Source
Why Amazon Cares about Open Source
 
Machine learning using Kubernetes
Machine learning using KubernetesMachine learning using Kubernetes
Machine learning using Kubernetes
 
Building Cloud Native Applications
Building Cloud Native ApplicationsBuilding Cloud Native Applications
Building Cloud Native Applications
 
Chaos Engineering with Kubernetes
Chaos Engineering with KubernetesChaos Engineering with Kubernetes
Chaos Engineering with Kubernetes
 
How to be a mentor to bring more girls to STEAM
How to be a mentor to bring more girls to STEAMHow to be a mentor to bring more girls to STEAM
How to be a mentor to bring more girls to STEAM
 
Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018
 
The Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteThe Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 Keynote
 
Introduction to Amazon EKS - KubeCon 2018
Introduction to Amazon EKS - KubeCon 2018Introduction to Amazon EKS - KubeCon 2018
Introduction to Amazon EKS - KubeCon 2018
 
Mastering Kubernetes on AWS - Tel Aviv Summit
Mastering Kubernetes on AWS - Tel Aviv SummitMastering Kubernetes on AWS - Tel Aviv Summit
Mastering Kubernetes on AWS - Tel Aviv Summit
 
Top 10 Technology Trends Changing Developer's Landscape
Top 10 Technology Trends Changing Developer's LandscapeTop 10 Technology Trends Changing Developer's Landscape
Top 10 Technology Trends Changing Developer's Landscape
 
Container Landscape in 2017
Container Landscape in 2017Container Landscape in 2017
Container Landscape in 2017
 
Java EE and NoSQL using JBoss EAP 7 and OpenShift
Java EE and NoSQL using JBoss EAP 7 and OpenShiftJava EE and NoSQL using JBoss EAP 7 and OpenShift
Java EE and NoSQL using JBoss EAP 7 and OpenShift
 
Docker, Kubernetes, and Mesos recipes for Java developers
Docker, Kubernetes, and Mesos recipes for Java developersDocker, Kubernetes, and Mesos recipes for Java developers
Docker, Kubernetes, and Mesos recipes for Java developers
 
Thanks Managers!
Thanks Managers!Thanks Managers!
Thanks Managers!
 
Migrate your traditional VM-based Clusters to Containers
Migrate your traditional VM-based Clusters to ContainersMigrate your traditional VM-based Clusters to Containers
Migrate your traditional VM-based Clusters to Containers
 

Recently uploaded

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Recently uploaded (20)

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 

Running your Java EE 6 Applications in the Cloud

  • 1. <Insert Picture Here> Running your Java EE 6 Applications in the Cloud Arun Gupta, Java EE & GlassFish Guy blogs.sun.com/arungupta, @arungupta
  • 2. The following/preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 2
  • 3. Agenda • Introduction to Java EE 6 & Demo • Java EE 6 on • • • • • Multi-cloud Vendor Comparison • Evolving Java EE for Cloud • Conclusions 3
  • 4. Light-weight • Java EE 6 Web Profile • Pruning • Pruned today, means • Optional in the next release • Deleted in the subsequent releases • Technologies marked in Javadocs • EJB 2.x Entity Beans, JAX-RPC, JAXR, JSR 88 4
  • 5. • EJB-in-WAR • No-interface EJB • Optional “web.xml”/”faces- config.xml” • Annotation-driven • @Schedule • @Path • @Inject • ... 5
  • 6. <web-fragment> <filter> <filter-name>wicket.helloworld</filter-name> <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class> <init-param> <param-name>applicationClassName</param-name> <param-value>...</param-value> </init-param> </filter> <filter-mapping> <filter-name>wicket.helloworld</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-fragment> 6
  • 7. Java EE 6 Demo 7
  • 8. Oracle's definition of Cloud Computing ● Virtualized elastic platform for applications ● Standards-based application development/execution platform ● Includes hardware and software ● Virtualized and Elastic ● Runs a wide variety of applications ● On both public and private clouds 8
  • 9. Oracle Exalogic Elastic Cloud ● Hardware and Software engineered to work together ● 100% Fault-tolerant & Scalable On-Demand ● 30 compute servers, 360 cores, 980 GB Solid-state disk, 40 GB/sec Infiniband, Patch centrally ● Servers, Network, Storage, VM, Operating System, Middleware, Develop/Run all applications 9
  • 11. What is Amazon ? • Boot server instances, scale up/down, pay-per-use • EC2: Compute capacity in the cloud • S3: Storage capacity in the cloud (1b → 5 GB) • RRS (reduced redundancy), RDS (database), FWS (fulfillment), SQS (queue), SNS (notification), CloudWatch (monitoring), FPS (payment), VPC (private cloud), EBS (block storage), ... 11
  • 12. Java EE 6 on Amazon • 2 New AMIs based on Hardened OpenSolaris • Oracle GlassFish Server 3.0 (not released) • Apache HTTP Server + mod_jk (not released) • Pre-existing MySQL Database 5.1 AMI • Instances managed by SMF • GlassFish: svcadm restart/enable/disable svc:/application/GlassFish/domain1:default • MySQL SMF: svcadm enable mysql • mod_jk: svcadm restart/refresh/enable/disable svc:/network/http:apache22 12
  • 13. Java EE 6 on Amazon # Define a load-balancing worker AJP_INSTANCE_NAME worker.list=worker1 in GlassFish instances # # Define an ajp13 worker to represent instance1 worker.instance1.type=ajp13 worker.instance1.host=ec2-67-202-51-223.compute-1.amazonaws.com worker.instance1.port=8009 # # Define an ajp13 worker to represent instance2 worker.instance2.type=ajp13 worker.instance2.host=ec2-67-202-7-236.compute-1.amazonaws.com worker.instance2.port=8009 # # Define the type of worker1 worker.worker1.type=lb # Add inst1 and inst2 to the balance_workers property of worker1 worker.worker1.balance_workers=instance1,instance2 13
  • 14. mod_jk Managed Using “cladmin” ... GlassFish-1 GlassFish-1 GlassFish-N MySQL 14
  • 15. How to Deploy ? • Launch MySQL AMI, create database, user, privileges, … • Launch 1 or more GlassFish AMI • Set AJP_INSTANCE_NAME in each GlassFish • Administer multiple instances using cladmin • --target instance-list OR set AS_TARGET=”...” • cladmin create-jdbc-connection-pool … • cladmin deploy ~/samples/hello.war • Launch mod_jk AMI • Configure “worker.properties” 15
  • 16. 16
  • 17. GlassFish 3.0.1 JAX-RS EJB 3.1 JPA 2 100,000+ surveys/hr 17
  • 19. Java EE 6 on RightScale Cloud Applications Automation C loud-R eady Expertise R ig htS c a le Architecture S olutions & S upport Web Site Right Grid Scripts Amazon Amazon Amazon Amazon IBM R ackspace VM Ware US E as t US Wes t EU As ia C loud 19
  • 20. How to Deploy ? Macro Definition • Launches a new virtual server with clean install of Ubuntu • Install GlassFish Server Open Source Edition 3.0 • Detects database in the deployment • Installs MySQL Connector/J Driver • Creates a JDBC Connection Pool and Resource • Install samples • Archives (WAR/EAR/...) stored in S3 20
  • 21. High Availability Deployment DNS Round Robin Load Balancer-1 Load Balancer-2 Min: 0;Max: 5 ... GlassFish-1 GlassFish-2 GlassFish-3 GlassFish-n Server Array Master replication Slave EBS DB DB EBS Vol Vol Amazon EC2 Amazon S3 21
  • 23. Alerts 23
  • 24. 24
  • 25. Pricing http://www.rightscale.com/products/plans-pricing/ 25
  • 27. How to deploy ? Azure Storage 27
  • 28. How to deploy ? Visual Studio Project 28
  • 29. How to deploy ? Launch.ps1 $connection_string = 'DefaultEndpointsProtocol=http;AccountName=YOUR- STORAGE;AccountKey=YOUR-KEY' # JDK $jdk = 'jdk1.6.0_23.zip' download_from_storage 'java' $jdk $connection_string (Get- Location).Path unzip ((Get-Location).Path + "" + $jdk) (Get-Location).Path # GlassFish $glassfish = 'glassfish-3.1-b40.zip' download_from_storage 'apps' $glassfish $connection_string (Get- Location).Path unzip ((Get-Location).Path + "" + $glassfish) (Get-Location).Path # Launch GlassFish .jdk1.6.0_23binjava `-jar .glassfish3glassfishmodulesadmin-cli.jar start-domain --verbose 29
  • 30. How to deploy ? Expose GlassFish ports 30
  • 31. How to deploy ? Publish 31
  • 32. How to deploy ? Publish Service Configuration Service Definition Run.cmd Launch.ps1 http://blogs.sun.com/arungupta/entry/ttod_155_glassfish_in_azure 32
  • 33. Pricing • Offers - Consumption or Commitment • 30-day FREE pass • Platform offer comparison table 33
  • 35. Java EE 6 on Joyent ● High performance and reliable public, private, and hybrid cloud ● Environment ● Language: Java, PHP, Ruby, … ● Server: GlassFish, Apache, nginx, … ● Database: MySQL, Oracle, ... 35
  • 36. Vs Amazon 36
  • 37. Java EE 6 on Joyent ● Smart Machine (nee Accelerators) ● Public IP Address ● Root access to Solaris Zone ● Guaranteed minimum CPU/RAM ● Dedicated IP address + 100 Mbps connectivity ● Common packages like MySQL can be installed using Webmin ● “sftp” to upload application packages 37
  • 38. 38
  • 39. 39
  • 40. Pricing • Included support issues • Inaccessible smart machine • Slow performance • System-level functionality not working • $199/incident (max one hour) http://www.joyent.com/support/support-programs/ 40
  • 42. Vendor Language Compute Storage Provider RightScale Bash, Ruby, Yes Yes Amazon, GoGrid, FlexiScale, Perl Eucalyptus OpenStack REST Yes Yes Several SimpleCloud PHP No Yes, Microsoft, IBM, Rackspace, Queing Nirvanix, GoGrid libcloud Python Yes ?? Several jClouds Java, Yes Yes Several Clojure DeltaCloud Ruby, Create/Start/ No Amazon, GoGrid, OpenNebula, REST Stop/Reboot Rackspace, RHEV-M, /Destroy RimuHosting CloudLoop Java No Yes Amazon, Nirvanix Dasein Java ?? Yes Amazon, Rackspace, vSphere 42
  • 43. What does Java EE offer to Cloud ? ● Containers ● Injectable services ● Scale to large clusters ● Security model ● ... 43
  • 44. What can Java EE do for Clouds ? ● Tighter requirements for resource/state ● Better isolation between applications ● Support for multi-tenant applications ● Potential standard APIs for NRDBMS, Caching, WebSockets, JSON, HTML5 ● Common management and monitoring interfaces ● Better packaging ● Apps/Data are (multiple) versioned, Upgrades, Expose/Connect to services, QoS attributes, ... ● Evolution, not revolution! 44
  • 45. GlassFish Server Chronology 2006 2007 2008 2009 2010 … GlassFish v1 Java EE 5, Single Instance GlassFish v2 Java EE 5, High Availability GlassFish Server 3 Java EE 6, Single Instance GlassFish Server 3.1 Java EE 6, High Availability 45
  • 46. GlassFish Server Distributions Distribution License Features • Java EE 6 compatibility GlassFish Server Open CDDL & • Web Profile support Source Edition 3.1 GPLv2 • In-memory replication / clustering Web Profile • Centralized Administration • Java EE 6 compatibility GlassFish Open Source CDDL & • Full Java EE distribution Edition 3.1 GPLv2 • In-memory replication / clustering • Centralized Administration • Adds Oracle GlassFish Server 3.1 Commercial • Oracle GlassFish Server Control Web Profile • Patches, support, knowledge base • Adds Oracle GlassFish Server 3.1 Commercial • Oracle GlassFish Server Control • Patches, support, knowledge base 46
  • 47. Conclusions • Java EE 6 is light-weight, flexible, easy-to-use • GlassFish Server Open Source Edition 3.0 and Oracle GlassFish Server 3.0 provides feature- rich implementation • Java EE 6 applications can be easily deployed on Amazon, RightScale, Azure, Joyent, and other clouds. • Java EE 7 will provide a standards-based programming model for PaaS environments. • Talk to us at users@glassfish.dev.java.net. 47
  • 48. References • glassfish.org • oracle.com/goto/glassfish • blogs.sun.com/theaquarium • youtube.com/user/GlassFishVideos • @glassfish 48
  • 49. <Insert Picture Here> Running your Java EE 6 Applications in the Cloud Arun Gupta, Java EE & GlassFish Guy blogs.sun.com/arungupta, @arungupta